{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "2a9d195e",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import scipy\n",
    "import matplotlib.pyplot as plt\n",
    "from scipy import signal\n",
    "from scipy.signal import butter, filtfilt, lfilter\n",
    "from scipy.interpolate import interp1d\n",
    "\n",
    "import csv\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "e36306b1",
   "metadata": {},
   "outputs": [],
   "source": [
    "def detrend_signal(arr, win_size):\n",
    "    if not isinstance(win_size, int):\n",
    "        win_size = int(win_size)\n",
    "    length = len(arr)\n",
    "    norm = np.convolve(np.ones(length), np.ones(win_size), mode='same')\n",
    "    mean = np.convolve(arr, np.ones(win_size), mode='same') / norm\n",
    "    return (arr - mean) / mean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "5de787f3",
   "metadata": {},
   "outputs": [],
   "source": [
    "def filter_bandpass(arr, fps, band):\n",
    "    nyq = 60 * fps / 2\n",
    "    coefficients = signal.butter(5, [band[0] / nyq, band[1] / nyq], 'bandpass')\n",
    "    return signal.filtfilt(*coefficients, arr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "d2268a3e",
   "metadata": {},
   "outputs": [],
   "source": [
    "def filter_bandpass(arr, fps, band):\n",
    "    nyq = 60 * fps / 2\n",
    "    coefficients = signal.butter(5, [band[0] / nyq, band[1] / nyq], 'bandpass')\n",
    "    return signal.filtfilt(*coefficients, arr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "7c4dbb54",
   "metadata": {},
   "outputs": [],
   "source": [
    "def normalization(ppg_data):\n",
    "    # MinMaxScaler객체 생성\n",
    "    scaler = MinMaxScaler()\n",
    "    # MinMaxScaler 로 데이터 셋 변환. fit() 과 transform() 호출.\n",
    "    scaler.fit(ppg_data.reshape(len(ppg_data),1))\n",
    "    ppg_scaled = scaler.transform(ppg_data.reshape(len(ppg_data),1))\n",
    "    # plt.plot(ppg_scaled)\n",
    "    return ppg_scaled.reshape(len(ppg_data))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c372f558",
   "metadata": {},
   "source": [
    "### 데이터 불러오기"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "ac0d062e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 읽어올 엑셀 파일 지정\n",
    "filename = 'train8.xlsx'\n",
    "\n",
    "# 엑셀 파일 읽어 오기\n",
    "data = pd.read_excel(filename, engine='openpyxl')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fff90d11",
   "metadata": {},
   "source": [
    "### 라벨 따로떼기"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "27c571bc",
   "metadata": {},
   "outputs": [],
   "source": [
    "ID  = data.iloc[-1]\n",
    "data.drop(data.tail(1).index,inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "37f36f08",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "13"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ID[500]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "653c678b",
   "metadata": {},
   "outputs": [],
   "source": [
    "data_len = len(ID)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "23c22b5f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1374"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(ID)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "01b6d9aa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(data[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "af35fe20",
   "metadata": {},
   "source": [
    "### 데이터 전처리"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "7cb00e14",
   "metadata": {},
   "outputs": [],
   "source": [
    "band = [40,900]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "71340a35",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n",
      "2\n",
      "3\n",
      "4\n",
      "5\n",
      "6\n",
      "7\n",
      "8\n",
      "9\n",
      "10\n",
      "11\n",
      "12\n",
      "13\n",
      "14\n",
      "15\n",
      "16\n",
      "17\n",
      "18\n",
      "19\n",
      "20\n",
      "21\n",
      "22\n",
      "23\n",
      "24\n",
      "25\n",
      "26\n",
      "27\n",
      "28\n",
      "29\n",
      "30\n",
      "31\n",
      "32\n",
      "33\n",
      "34\n",
      "35\n",
      "36\n",
      "37\n",
      "38\n",
      "39\n",
      "40\n",
      "41\n",
      "42\n",
      "43\n",
      "44\n",
      "45\n",
      "46\n",
      "47\n",
      "48\n",
      "49\n",
      "50\n",
      "51\n",
      "52\n",
      "53\n",
      "54\n",
      "55\n",
      "56\n",
      "57\n",
      "58\n",
      "59\n",
      "60\n",
      "61\n",
      "62\n",
      "63\n",
      "64\n",
      "65\n",
      "66\n",
      "67\n",
      "68\n",
      "69\n",
      "70\n",
      "71\n",
      "72\n",
      "73\n",
      "74\n",
      "75\n",
      "76\n",
      "77\n",
      "78\n",
      "79\n",
      "80\n",
      "81\n",
      "82\n",
      "83\n",
      "84\n",
      "85\n",
      "86\n",
      "87\n",
      "88\n",
      "89\n",
      "90\n",
      "91\n",
      "92\n",
      "93\n",
      "94\n",
      "95\n",
      "96\n",
      "97\n",
      "98\n",
      "99\n",
      "100\n",
      "101\n",
      "102\n",
      "103\n",
      "104\n",
      "105\n",
      "106\n",
      "107\n",
      "108\n",
      "109\n",
      "110\n",
      "111\n",
      "112\n",
      "113\n",
      "114\n",
      "115\n",
      "116\n",
      "117\n",
      "118\n",
      "119\n",
      "120\n",
      "121\n",
      "122\n",
      "123\n",
      "124\n",
      "125\n",
      "126\n",
      "127\n",
      "128\n",
      "129\n",
      "130\n",
      "131\n",
      "132\n",
      "133\n",
      "134\n",
      "135\n",
      "136\n",
      "137\n",
      "138\n",
      "139\n",
      "140\n",
      "141\n",
      "142\n",
      "143\n",
      "144\n",
      "145\n",
      "146\n",
      "147\n",
      "148\n",
      "149\n",
      "150\n",
      "151\n",
      "152\n",
      "153\n",
      "154\n",
      "155\n",
      "156\n",
      "157\n",
      "158\n",
      "159\n",
      "160\n",
      "161\n",
      "162\n",
      "163\n",
      "164\n",
      "165\n",
      "166\n",
      "167\n",
      "168\n",
      "169\n",
      "170\n",
      "171\n",
      "172\n",
      "173\n",
      "174\n",
      "175\n",
      "176\n",
      "177\n",
      "178\n",
      "179\n",
      "180\n",
      "181\n",
      "182\n",
      "183\n",
      "184\n",
      "185\n",
      "186\n",
      "187\n",
      "188\n",
      "189\n",
      "190\n",
      "191\n",
      "192\n",
      "193\n",
      "194\n",
      "195\n",
      "196\n",
      "197\n",
      "198\n",
      "199\n",
      "200\n",
      "201\n",
      "202\n",
      "203\n",
      "204\n",
      "205\n",
      "206\n",
      "207\n",
      "208\n",
      "209\n",
      "210\n",
      "211\n",
      "212\n",
      "213\n",
      "214\n",
      "215\n",
      "216\n",
      "217\n",
      "218\n",
      "219\n",
      "220\n",
      "221\n",
      "222\n",
      "223\n",
      "224\n",
      "225\n",
      "226\n",
      "227\n",
      "228\n",
      "229\n",
      "230\n",
      "231\n",
      "232\n",
      "233\n",
      "234\n",
      "235\n",
      "236\n",
      "237\n",
      "238\n",
      "239\n",
      "240\n",
      "241\n",
      "242\n",
      "243\n",
      "244\n",
      "245\n",
      "246\n",
      "247\n",
      "248\n",
      "249\n",
      "250\n",
      "251\n",
      "252\n",
      "253\n",
      "254\n",
      "255\n",
      "256\n",
      "257\n",
      "258\n",
      "259\n",
      "260\n",
      "261\n",
      "262\n",
      "263\n",
      "264\n",
      "265\n",
      "266\n",
      "267\n",
      "268\n",
      "269\n",
      "270\n",
      "271\n",
      "272\n",
      "273\n",
      "274\n",
      "275\n",
      "276\n",
      "277\n",
      "278\n",
      "279\n",
      "280\n",
      "281\n",
      "282\n",
      "283\n",
      "284\n",
      "285\n",
      "286\n",
      "287\n",
      "288\n",
      "289\n",
      "290\n",
      "291\n",
      "292\n",
      "293\n",
      "294\n",
      "295\n",
      "296\n",
      "297\n",
      "298\n",
      "299\n",
      "300\n",
      "301\n",
      "302\n",
      "303\n",
      "304\n",
      "305\n",
      "306\n",
      "307\n",
      "308\n",
      "309\n",
      "310\n",
      "311\n",
      "312\n",
      "313\n",
      "314\n",
      "315\n",
      "316\n",
      "317\n",
      "318\n",
      "319\n",
      "320\n",
      "321\n",
      "322\n",
      "323\n",
      "324\n",
      "325\n",
      "326\n",
      "327\n",
      "328\n",
      "329\n",
      "330\n",
      "331\n",
      "332\n",
      "333\n",
      "334\n",
      "335\n",
      "336\n",
      "337\n",
      "338\n",
      "339\n",
      "340\n",
      "341\n",
      "342\n",
      "343\n",
      "344\n",
      "345\n",
      "346\n",
      "347\n",
      "348\n",
      "349\n",
      "350\n",
      "351\n",
      "352\n",
      "353\n",
      "354\n",
      "355\n",
      "356\n",
      "357\n",
      "358\n",
      "359\n",
      "360\n",
      "361\n",
      "362\n",
      "363\n",
      "364\n",
      "365\n",
      "366\n",
      "367\n",
      "368\n",
      "369\n",
      "370\n",
      "371\n",
      "372\n",
      "373\n",
      "374\n",
      "375\n",
      "376\n",
      "377\n",
      "378\n",
      "379\n",
      "380\n",
      "381\n",
      "382\n",
      "383\n",
      "384\n",
      "385\n",
      "386\n",
      "387\n",
      "388\n",
      "389\n",
      "390\n",
      "391\n",
      "392\n",
      "393\n",
      "394\n",
      "395\n",
      "396\n",
      "397\n",
      "398\n",
      "399\n",
      "400\n",
      "401\n",
      "402\n",
      "403\n",
      "404\n",
      "405\n",
      "406\n",
      "407\n",
      "408\n",
      "409\n",
      "410\n",
      "411\n",
      "412\n",
      "413\n",
      "414\n",
      "415\n",
      "416\n",
      "417\n",
      "418\n",
      "419\n",
      "420\n",
      "421\n",
      "422\n",
      "423\n",
      "424\n",
      "425\n",
      "426\n",
      "427\n",
      "428\n",
      "429\n",
      "430\n",
      "431\n",
      "432\n",
      "433\n",
      "434\n",
      "435\n",
      "436\n",
      "437\n",
      "438\n",
      "439\n",
      "440\n",
      "441\n",
      "442\n",
      "443\n",
      "444\n",
      "445\n",
      "446\n",
      "447\n",
      "448\n",
      "449\n",
      "450\n",
      "451\n",
      "452\n",
      "453\n",
      "454\n",
      "455\n",
      "456\n",
      "457\n",
      "458\n",
      "459\n",
      "460\n",
      "461\n",
      "462\n",
      "463\n",
      "464\n",
      "465\n",
      "466\n",
      "467\n",
      "468\n",
      "469\n",
      "470\n",
      "471\n",
      "472\n",
      "473\n",
      "474\n",
      "475\n",
      "476\n",
      "477\n",
      "478\n",
      "479\n",
      "480\n",
      "481\n",
      "482\n",
      "483\n",
      "484\n",
      "485\n",
      "486\n",
      "487\n",
      "488\n",
      "489\n",
      "490\n",
      "491\n",
      "492\n",
      "493\n",
      "494\n",
      "495\n",
      "496\n",
      "497\n",
      "498\n",
      "499\n",
      "500\n",
      "501\n",
      "502\n",
      "503\n",
      "504\n",
      "505\n",
      "506\n",
      "507\n",
      "508\n",
      "509\n",
      "510\n",
      "511\n",
      "512\n",
      "513\n",
      "514\n",
      "515\n",
      "516\n",
      "517\n",
      "518\n",
      "519\n",
      "520\n",
      "521\n",
      "522\n",
      "523\n",
      "524\n",
      "525\n",
      "526\n",
      "527\n",
      "528\n",
      "529\n",
      "530\n",
      "531\n",
      "532\n",
      "533\n",
      "534\n",
      "535\n",
      "536\n",
      "537\n",
      "538\n",
      "539\n",
      "540\n",
      "541\n",
      "542\n",
      "543\n",
      "544\n",
      "545\n",
      "546\n",
      "547\n",
      "548\n",
      "549\n",
      "550\n",
      "551\n",
      "552\n",
      "553\n",
      "554\n",
      "555\n",
      "556\n",
      "557\n",
      "558\n",
      "559\n",
      "560\n",
      "561\n",
      "562\n",
      "563\n",
      "564\n",
      "565\n",
      "566\n",
      "567\n",
      "568\n",
      "569\n",
      "570\n",
      "571\n",
      "572\n",
      "573\n",
      "574\n",
      "575\n",
      "576\n",
      "577\n",
      "578\n",
      "579\n",
      "580\n",
      "581\n",
      "582\n",
      "583\n",
      "584\n",
      "585\n",
      "586\n",
      "587\n",
      "588\n",
      "589\n",
      "590\n",
      "591\n",
      "592\n",
      "593\n",
      "594\n",
      "595\n",
      "596\n",
      "597\n",
      "598\n",
      "599\n",
      "600\n",
      "601\n",
      "602\n",
      "603\n",
      "604\n",
      "605\n",
      "606\n",
      "607\n",
      "608\n",
      "609\n",
      "610\n",
      "611\n",
      "612\n",
      "613\n",
      "614\n",
      "615\n",
      "616\n",
      "617\n",
      "618\n",
      "619\n",
      "620\n",
      "621\n",
      "622\n",
      "623\n",
      "624\n",
      "625\n",
      "626\n",
      "627\n",
      "628\n",
      "629\n",
      "630\n",
      "631\n",
      "632\n",
      "633\n",
      "634\n",
      "635\n",
      "636\n",
      "637\n",
      "638\n",
      "639\n",
      "640\n",
      "641\n",
      "642\n",
      "643\n",
      "644\n",
      "645\n",
      "646\n",
      "647\n",
      "648\n",
      "649\n",
      "650\n",
      "651\n",
      "652\n",
      "653\n",
      "654\n",
      "655\n",
      "656\n",
      "657\n",
      "658\n",
      "659\n",
      "660\n",
      "661\n",
      "662\n",
      "663\n",
      "664\n",
      "665\n",
      "666\n",
      "667\n",
      "668\n",
      "669\n",
      "670\n",
      "671\n",
      "672\n",
      "673\n",
      "674\n",
      "675\n",
      "676\n",
      "677\n",
      "678\n",
      "679\n",
      "680\n",
      "681\n",
      "682\n",
      "683\n",
      "684\n",
      "685\n",
      "686\n",
      "687\n",
      "688\n",
      "689\n",
      "690\n",
      "691\n",
      "692\n",
      "693\n",
      "694\n",
      "695\n",
      "696\n",
      "697\n",
      "698\n",
      "699\n",
      "700\n",
      "701\n",
      "702\n",
      "703\n",
      "704\n",
      "705\n",
      "706\n",
      "707\n",
      "708\n",
      "709\n",
      "710\n",
      "711\n",
      "712\n",
      "713\n",
      "714\n",
      "715\n",
      "716\n",
      "717\n",
      "718\n",
      "719\n",
      "720\n",
      "721\n",
      "722\n",
      "723\n",
      "724\n",
      "725\n",
      "726\n",
      "727\n",
      "728\n",
      "729\n",
      "730\n",
      "731\n",
      "732\n",
      "733\n",
      "734\n",
      "735\n",
      "736\n",
      "737\n",
      "738\n",
      "739\n",
      "740\n",
      "741\n",
      "742\n",
      "743\n",
      "744\n",
      "745\n",
      "746\n",
      "747\n",
      "748\n",
      "749\n",
      "750\n",
      "751\n",
      "752\n",
      "753\n",
      "754\n",
      "755\n",
      "756\n",
      "757\n",
      "758\n",
      "759\n",
      "760\n",
      "761\n",
      "762\n",
      "763\n",
      "764\n",
      "765\n",
      "766\n",
      "767\n",
      "768\n",
      "769\n",
      "770\n",
      "771\n",
      "772\n",
      "773\n",
      "774\n",
      "775\n",
      "776\n",
      "777\n",
      "778\n",
      "779\n",
      "780\n",
      "781\n",
      "782\n",
      "783\n",
      "784\n",
      "785\n",
      "786\n",
      "787\n",
      "788\n",
      "789\n",
      "790\n",
      "791\n",
      "792\n",
      "793\n",
      "794\n",
      "795\n",
      "796\n",
      "797\n",
      "798\n",
      "799\n",
      "800\n",
      "801\n",
      "802\n",
      "803\n",
      "804\n",
      "805\n",
      "806\n",
      "807\n",
      "808\n",
      "809\n",
      "810\n",
      "811\n",
      "812\n",
      "813\n",
      "814\n",
      "815\n",
      "816\n",
      "817\n",
      "818\n",
      "819\n",
      "820\n",
      "821\n",
      "822\n",
      "823\n",
      "824\n",
      "825\n",
      "826\n",
      "827\n",
      "828\n",
      "829\n",
      "830\n",
      "831\n",
      "832\n",
      "833\n",
      "834\n",
      "835\n",
      "836\n",
      "837\n",
      "838\n",
      "839\n",
      "840\n",
      "841\n",
      "842\n",
      "843\n",
      "844\n",
      "845\n",
      "846\n",
      "847\n",
      "848\n",
      "849\n",
      "850\n",
      "851\n",
      "852\n",
      "853\n",
      "854\n",
      "855\n",
      "856\n",
      "857\n",
      "858\n",
      "859\n",
      "860\n",
      "861\n",
      "862\n",
      "863\n",
      "864\n",
      "865\n",
      "866\n",
      "867\n",
      "868\n",
      "869\n",
      "870\n",
      "871\n",
      "872\n",
      "873\n",
      "874\n",
      "875\n",
      "876\n",
      "877\n",
      "878\n",
      "879\n",
      "880\n",
      "881\n",
      "882\n",
      "883\n",
      "884\n",
      "885\n",
      "886\n",
      "887\n",
      "888\n",
      "889\n",
      "890\n",
      "891\n",
      "892\n",
      "893\n",
      "894\n",
      "895\n",
      "896\n",
      "897\n",
      "898\n",
      "899\n",
      "900\n",
      "901\n",
      "902\n",
      "903\n",
      "904\n",
      "905\n",
      "906\n",
      "907\n",
      "908\n",
      "909\n",
      "910\n",
      "911\n",
      "912\n",
      "913\n",
      "914\n",
      "915\n",
      "916\n",
      "917\n",
      "918\n",
      "919\n",
      "920\n",
      "921\n",
      "922\n",
      "923\n",
      "924\n",
      "925\n",
      "926\n",
      "927\n",
      "928\n",
      "929\n",
      "930\n",
      "931\n",
      "932\n",
      "933\n",
      "934\n",
      "935\n",
      "936\n",
      "937\n",
      "938\n",
      "939\n",
      "940\n",
      "941\n",
      "942\n",
      "943\n",
      "944\n",
      "945\n",
      "946\n",
      "947\n",
      "948\n",
      "949\n",
      "950\n",
      "951\n",
      "952\n",
      "953\n",
      "954\n",
      "955\n",
      "956\n",
      "957\n",
      "958\n",
      "959\n",
      "960\n",
      "961\n",
      "962\n",
      "963\n",
      "964\n",
      "965\n",
      "966\n",
      "967\n",
      "968\n",
      "969\n",
      "970\n",
      "971\n",
      "972\n",
      "973\n",
      "974\n",
      "975\n",
      "976\n",
      "977\n",
      "978\n",
      "979\n",
      "980\n",
      "981\n",
      "982\n",
      "983\n",
      "984\n",
      "985\n",
      "986\n",
      "987\n",
      "988\n",
      "989\n",
      "990\n",
      "991\n",
      "992\n",
      "993\n",
      "994\n",
      "995\n",
      "996\n",
      "997\n",
      "998\n",
      "999\n",
      "1000\n",
      "1001\n",
      "1002\n",
      "1003\n",
      "1004\n",
      "1005\n",
      "1006\n",
      "1007\n",
      "1008\n",
      "1009\n",
      "1010\n",
      "1011\n",
      "1012\n",
      "1013\n",
      "1014\n",
      "1015\n",
      "1016\n",
      "1017\n",
      "1018\n",
      "1019\n",
      "1020\n",
      "1021\n",
      "1022\n",
      "1023\n",
      "1024\n",
      "1025\n",
      "1026\n",
      "1027\n",
      "1028\n",
      "1029\n",
      "1030\n",
      "1031\n",
      "1032\n",
      "1033\n",
      "1034\n",
      "1035\n",
      "1036\n",
      "1037\n",
      "1038\n",
      "1039\n",
      "1040\n",
      "1041\n",
      "1042\n",
      "1043\n",
      "1044\n",
      "1045\n",
      "1046\n",
      "1047\n",
      "1048\n",
      "1049\n",
      "1050\n",
      "1051\n",
      "1052\n",
      "1053\n",
      "1054\n",
      "1055\n",
      "1056\n",
      "1057\n",
      "1058\n",
      "1059\n",
      "1060\n",
      "1061\n",
      "1062\n",
      "1063\n",
      "1064\n",
      "1065\n",
      "1066\n",
      "1067\n",
      "1068\n",
      "1069\n",
      "1070\n",
      "1071\n",
      "1072\n",
      "1073\n",
      "1074\n",
      "1075\n",
      "1076\n",
      "1077\n",
      "1078\n",
      "1079\n",
      "1080\n",
      "1081\n",
      "1082\n",
      "1083\n",
      "1084\n",
      "1085\n",
      "1086\n",
      "1087\n",
      "1088\n",
      "1089\n",
      "1090\n",
      "1091\n",
      "1092\n",
      "1093\n",
      "1094\n",
      "1095\n",
      "1096\n",
      "1097\n",
      "1098\n",
      "1099\n",
      "1100\n"
     ]
    },
    {
     "ename": "IndexError",
     "evalue": "index 5 is out of bounds for axis 0 with size 5",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mIndexError\u001b[0m                                Traceback (most recent call last)",
      "Input \u001b[1;32mIn [40]\u001b[0m, in \u001b[0;36m<cell line: 3>\u001b[1;34m()\u001b[0m\n\u001b[0;32m     17\u001b[0m     \u001b[38;5;66;03m#피크 하나씩 저장\u001b[39;00m\n\u001b[0;32m     18\u001b[0m \u001b[38;5;66;03m#     if(len(point_c[0]) > 6):\u001b[39;00m\n\u001b[0;32m     19\u001b[0m \u001b[38;5;66;03m#         for i in range(5):\u001b[39;00m\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m     25\u001b[0m     \n\u001b[0;32m     26\u001b[0m \u001b[38;5;66;03m#     else: \u001b[39;00m\n\u001b[0;32m     28\u001b[0m     \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m5\u001b[39m):\n\u001b[1;32m---> 29\u001b[0m         \u001b[38;5;28mlocals\u001b[39m()[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpeak\u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mformat(i)] \u001b[38;5;241m=\u001b[39m det[point_c[\u001b[38;5;241m0\u001b[39m][i]:\u001b[43mpoint_c\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m]\u001b[49m]\n\u001b[0;32m     32\u001b[0m     \u001b[38;5;66;03m#신호 보간하기\u001b[39;00m\n\u001b[0;32m     33\u001b[0m     \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m5\u001b[39m):\n",
      "\u001b[1;31mIndexError\u001b[0m: index 5 is out of bounds for axis 0 with size 5"
     ]
    }
   ],
   "source": [
    "sigsig_all = []\n",
    "\n",
    "for data_index in range(1, data_len+1):\n",
    "    \n",
    "#     index = ID[data_index]\n",
    "    print(data_index)\n",
    "    \n",
    "    #필터링\n",
    "    det = detrend_signal(data[data_index], 50) * -1\n",
    "    ppg = list(det)\n",
    "#     ppg = filter_bandpass(ppg, 50, band)\n",
    "    \n",
    "    \n",
    "    point_c = scipy.signal.find_peaks(det * -1, height = 0, distance = 25)\n",
    "\n",
    "    \n",
    "    #피크 하나씩 저장\n",
    "#     if(len(point_c[0]) > 6):\n",
    "#         for i in range(5):\n",
    "#             locals()['peak{}'.format(i)] = det[point_c[0][i+1]:point_c[0][i+2]]\n",
    "    \n",
    "#     if (len(point_c[0]) == 5 ):\n",
    "#         for i in range(4):\n",
    "#             locals()['peak{}'.format(i)] = det[point_c[0][i]:point_c[0][i+1]]\n",
    "    \n",
    "#     else: \n",
    "\n",
    "    for i in range(5):\n",
    "        locals()['peak{}'.format(i)] = det[point_c[0][i]:point_c[0][i+1]]\n",
    "\n",
    "        \n",
    "    #신호 보간하기\n",
    "    for i in range(5):\n",
    "        x_len= len(locals()['peak{}'.format(i)])\n",
    "        x = np.linspace(0, 50, x_len)\n",
    "\n",
    "        fq = interp1d(x,locals()['peak{}'.format(i)],kind = 'quadratic')\n",
    "        xint = np.linspace(x.min(), x.max(), 50)\n",
    "\n",
    "        locals()['peak_inter{}'.format(i)] = fq(xint)\n",
    "    \n",
    "        \n",
    "    #신호 평균 값 구하기\n",
    "\n",
    "    sigsig = []\n",
    "    for i in range(5):\n",
    "        sigsig.append(locals()['peak_inter{}'.format(i)])\n",
    "\n",
    "    sigsum = np.mean(sigsig,axis=0)\n",
    "    \n",
    "    \n",
    "    \n",
    "#     fig, ax1 = plt.subplots()\n",
    "#     for i in range(4):\n",
    "#         ax1.twiny()\n",
    "#         plt.plot(locals()['peak_inter{}'.format(i)])\n",
    "#     plt.plot(sigsum,color = \"tab:red\")\n",
    "#     plt.show()\n",
    "        \n",
    "        \n",
    "#     directory = \"./plt/test/\" + str(index)\n",
    "    \n",
    "#     if not os.path.exists(directory):\n",
    "#         os.makedirs(directory)\n",
    "\n",
    "    \n",
    "    \n",
    "#     plt.plot(sigsum,color = \"tab:red\")\n",
    "#     plt.axis('off') #x,y축 모두 없애기\n",
    "# #     plt.show()\n",
    "#     plt.savefig(\"./plt/test/ppg\" +\"_\"+ str(index)+\"_\"+str(data_index) + \".png\")\n",
    "#     plt.close()\n",
    "    \n",
    "\n",
    "#     sigsig_all.append(sigsum)\n",
    "    '''\n",
    "    f,p = signal.periodogram(sigsum, fs=50)\n",
    "    \n",
    "    plt.bar(f,p)\n",
    "    plt.show()\n",
    "    print(len(f))\n",
    "    print(p)\n",
    "    '''\n",
    "    \n",
    "    f = open('train_data_5.csv', 'a', newline='')\n",
    "    wr = csv.writer(f)\n",
    "    wr.writerow(sigsum)\n",
    "    f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "862cd0ae",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(data[1100])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "cd50d77b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "300"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(data[1100])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6db170ed",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e56c6315",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "id": "288fd97a",
   "metadata": {},
   "outputs": [],
   "source": [
    "f = open('test_label_0.csv', 'a', newline='')\n",
    "wr = csv.writer(f)\n",
    "wr.writerow(ID)\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d7b6d989",
   "metadata": {},
   "outputs": [],
   "source": [
    "np.shape(ID)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c6421cac",
   "metadata": {},
   "outputs": [],
   "source": [
    "ID[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bb8dce7e",
   "metadata": {},
   "outputs": [],
   "source": [
    "label = []\n",
    "\n",
    "index_s = 0\n",
    "index_e = 0\n",
    "\n",
    "for j in range(1,36):\n",
    "    count = 0\n",
    "    for i in range(1, len(ID)):\n",
    "    \n",
    "    \n",
    "        if ID[i] == j:\n",
    "            count +=1\n",
    "    \n",
    "    print(\"#################\")\n",
    "    print(\" 라벨\" +str(j)+\" / \" +\"데이터수\" + str(count)  )\n",
    "    index_e = count + index_s\n",
    "    \n",
    "    \n",
    "    print(np.mean(sigsig_all[index_s:index_e]))\n",
    "    print((sigsig_all[index_s:index_e]))\n",
    "#     print(index_s,index_e)\n",
    "    \n",
    "    index_s = index_e"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8abd1ae9",
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.plot(ppg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "38cbb228",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1b716aa4",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4d058f4d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ppgbio_1",
   "language": "python",
   "name": "ppgbio"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
